package com.boatAnchorAssistant.service.repository.in;

import com.boatAnchorAssistant.pojo.entity.DataDictionary;
import nirvana.core.repository.IRepository;
import com.boatAnchorAssistant.pojo.dto.dataDictionary.SelectDataDictionaryDto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Map;

/**
 * 【描 述】：
 * 【环 境】：J2SE
 * 【详 细】：
 *
 */
public interface DataDictionaryRepository extends IRepository<DataDictionary> {


    /**
     * 搜索数据字典
     * @param dto
     * @return
     */
    Page<DataDictionary> selectDataDictionary(SelectDataDictionaryDto dto);

    /**
     * 检查这个类型下是否存在这个编号
     * @param code
     * @param type
     * @return
     */
    Boolean hasCode(String code,Long type);


    /**
     * 获取排序最后的字典
     * @param type
     * @return
     */
    DataDictionary getLastDisplay(Long type);

    /**
     * 获取某个排序之后的所有字典
     * @param type
     * @param displayOrder
     * @return
     */
    List<DataDictionary> getAfterListByOrder(Long type,Integer displayOrder);


    /**
     * 获取Map
     * @param ids
     * @return
     */
    Map<Long, DataDictionary> getMap(List<Long> ids);

}